package cn.fl.capital.transform;

import java.util.ArrayList;
import java.util.List;

import cn.fl.capital.dto.CapOverdueHisDTO;
import cn.fl.capital.vo.CapOverdueHisVO;
import cn.cmm.base.framework.utils.CollectionUtils;

 /**
 * @Description: 客户逾期历史表 转换器
 * VO是客户端传递数据到服务端进行转换的数据 
 * VO转换数据变成DTO传递到服务端 
 * VO不能在服务端出现
 */
public class CapOverdueHisVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto CapOverdueHisDTO
	 * @return CapOverdueHisVO
	 */
	public static CapOverdueHisVO toVO(CapOverdueHisDTO dto) {
		CapOverdueHisVO  vo = null;
		if (dto != null) { 
			vo = new CapOverdueHisVO();
			vo.setId(dto.getId());
			vo.setCstId(dto.getCstId());//客户ID
			vo.setCstNm(dto.getCstNm());//CST_NM
			vo.setPaySchId(dto.getPaySchId());//费用ID
			vo.setPaySchNo(dto.getPaySchNo());//PAY_SCH_NO
			vo.setPayPd(dto.getPayPd());//期次
			vo.setOverdueDate(dto.getOverdueDate());//逾期日期(应收日期)
			vo.setOverdueDay(dto.getOverdueDay());//逾期天数
			vo.setOverdueAmount(dto.getOverdueAmount());//逾期租金总金额
			vo.setOverdueRate(dto.getOverdueRate());//逾期率
			vo.setPenaltyAmount(dto.getPenaltyAmount());//罚息金额
			vo.setPayAmount(dto.getPayAmount());//已支付金额
			vo.setActualAmount(dto.getActualAmount());//当日实收罚息金额
			vo.setTotalAmount(dto.getTotalAmount());//实收累计金额(已核销罚息总金额)
			vo.setReduAmount(dto.getReduAmount());//减免金额
			vo.setDataStatusCd(dto.getDataStatusCd());//数据状态-数据字典：0-最新 1-过期
			vo.setOverdueStatusCd(dto.getOverdueStatusCd());//逾期支付状态-数据字典：0-未支付 1-部分支付 2-全部支付 
			vo.setRemark(dto.getRemark());//罚息描述
			vo.setBuOrgCd(dto.getBuOrgCd());//所属事业部
			vo.setCreateDate(dto.getCreateDate());//罚息日期
			vo.setCreateTime(dto.getCreateTime());//创建时间
			vo.setOverduePrincipal(dto.getOverduePrincipal());//逾期本金总金额
			vo.setOverdueInterest(dto.getOverdueInterest());//逾期利息总金额
			vo.setPaidUpPrincipal(dto.getPaidUpPrincipal());//已核销本金总金额
			vo.setPaidUpInterest(dto.getPaidUpInterest());//已核销利息总金额
			vo.setPaidUpOther(dto.getPaidUpOther());//已核销其他费用总金额
			vo.setRemainingPrincipal(dto.getRemainingPrincipal());//剩余本金总金额
			vo.setRemainingInterest(dto.getRemainingInterest());//剩余利息总金额
			vo.setRemainingOther(dto.getRemainingOther());//剩余其他费用总金额
			vo.setTotalPayPd(dto.getTotalPayPd());//累计逾期期次

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo CapOverdueHisVO
	 * @return CapOverdueHisDTO
	 */
	public static CapOverdueHisDTO toDTO(CapOverdueHisVO vo) {
		CapOverdueHisDTO dto = null;
		if (vo != null) {
			dto = new CapOverdueHisDTO();
			dto.setId(vo.getId());
			dto.setCstId(vo.getCstId());//客户ID
			dto.setCstNm(vo.getCstNm());//CST_NM
			dto.setPaySchId(vo.getPaySchId());//费用ID
			dto.setPaySchNo(vo.getPaySchNo());//PAY_SCH_NO
			dto.setPayPd(vo.getPayPd());//期次
			dto.setOverdueDate(vo.getOverdueDate());//逾期日期(应收日期)
			dto.setOverdueDay(vo.getOverdueDay());//逾期天数
			dto.setOverdueAmount(vo.getOverdueAmount());//逾期租金总金额
			dto.setOverdueRate(vo.getOverdueRate());//逾期率
			dto.setPenaltyAmount(vo.getPenaltyAmount());//罚息金额
			dto.setPayAmount(vo.getPayAmount());//已支付金额
			dto.setActualAmount(vo.getActualAmount());//当日实收罚息金额
			dto.setTotalAmount(vo.getTotalAmount());//实收累计金额(已核销罚息总金额)
			dto.setReduAmount(vo.getReduAmount());//减免金额
			dto.setDataStatusCd(vo.getDataStatusCd());//数据状态-数据字典：0-最新 1-过期
			dto.setOverdueStatusCd(vo.getOverdueStatusCd());//逾期支付状态-数据字典：0-未支付 1-部分支付 2-全部支付 
			dto.setRemark(vo.getRemark());//罚息描述
			dto.setBuOrgCd(vo.getBuOrgCd());//所属事业部
			dto.setCreateDate(vo.getCreateDate());//罚息日期
			dto.setCreateTime(vo.getCreateTime());//创建时间
			dto.setOverduePrincipal(vo.getOverduePrincipal());//逾期本金总金额
			dto.setOverdueInterest(vo.getOverdueInterest());//逾期利息总金额
			dto.setPaidUpPrincipal(vo.getPaidUpPrincipal());//已核销本金总金额
			dto.setPaidUpInterest(vo.getPaidUpInterest());//已核销利息总金额
			dto.setPaidUpOther(vo.getPaidUpOther());//已核销其他费用总金额
			dto.setRemainingPrincipal(vo.getRemainingPrincipal());//剩余本金总金额
			dto.setRemainingInterest(vo.getRemainingInterest());//剩余利息总金额
			dto.setRemainingOther(vo.getRemainingOther());//剩余其他费用总金额
			dto.setTotalPayPd(vo.getTotalPayPd());//累计逾期期次

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param list List<CapOverdueHis>
	 * @return List<CapOverdueHisDTO>
	 */
	public static List<CapOverdueHisVO> toVOList(List<CapOverdueHisDTO> list) {
		List<CapOverdueHisVO>  voList = new ArrayList<CapOverdueHisVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (CapOverdueHisDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 *  VO集合 转 DTO集合
	 * @param list List<CapOverdueHisVO>
	 * @return List<CapOverdueHisDTO>
	 */
	public static List<CapOverdueHisDTO> toDTOList(List<CapOverdueHisVO> list) {
		List<CapOverdueHisDTO>  dtoList = new ArrayList<>();
		if(CollectionUtils.isNotEmpty(list)){
			for (CapOverdueHisVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
